package com.yishe.framework.core.orm.hibernate;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.yishe.framework.core.orm.IGenericDAO;
import com.yishe.framework.core.orm.Page;
import com.yishe.framework.core.orm.PageRequest;
import com.yishe.framework.model.BaseModel;

/**
 * 增，删，改，查，查询所有五种操作的基类
 * @param <T>
 * @param <ID>
 */
@SuppressWarnings("all")
public class BaseGenericDAOImpl<T extends BaseModel, PK extends Serializable> implements IGenericDAO<T, PK> {

	@Override
	public void delete(PK id) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void delete(T entity) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public List<T> findAll() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<T> findAllByHql(String hql, Object... values) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public <X> List<X> findAllBySql(String sql, Object... values) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<T> findListByCondition(Map<String, Object> filterPropertyMap, Map<String, String> sortValueMap) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Page<T> findPageByCondition(PageRequest pageRequest, Map<String, Object> filterPropertyMap, Map<String, String> sortValueMap) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public T getById(PK id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<T> getByIds(PK[] ids) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public T save(T entity) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public T saveOrUpdate(T entity) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public T update(T entity) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public T update(T entity, String... fieldNames) throws RuntimeException, Exception {
		// TODO Auto-generated method stub
		return null;
	}

	
	
}
